using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace SnakeCharp
{
    /// <summary>
    /// Includes the differnt paths for images, fonts, sounds etc.
    /// </summary>
    public class Configurations
    {
        private static string dataDirectory = "Data";
        private static string filePath = Path.Combine("..", "..");
        //private static string filePath = Path.Combine("", ""); //Used when we build for the end-users
        private static int bitsPerPixel = 16;
        private static bool enableDebugHUD = true;
        private static int screenWidth = 800;
        private static int screenHeight = 600;

        #region Properties
        /// <summary>
        /// Gets the height of the screen.
        /// </summary>
        /// <value>The height of the screen.</value>
        public static int ScreenHeight
        {
            get { return Configurations.screenHeight; }
        }

        /// <summary>
        /// Gets the width of the screen.
        /// </summary>
        /// <value>The width of the screen.</value>
        public static int ScreenWidth
        {
            get { return Configurations.screenWidth; }
        }

        /// <summary>
        /// Gets a value indicating whether [enable debug HUD].
        /// </summary>
        /// <value><c>true</c> if [enable debug HUD]; otherwise, <c>false</c>.</value>
        public static bool EnableDebugHUD
        {
            get { return Configurations.enableDebugHUD; }
        }

        /// <summary>
        /// Gets the bits per pixel.
        /// </summary>
        /// <value>The bits per pixel.</value>
        public static int BitsPerPixel
        {
            get { return Configurations.bitsPerPixel; }
        }

        /// <summary>
        /// Gets the image path.
        /// </summary>
        /// <value>The image path.</value>
        public static string ImagePath
        {
            get { return Path.Combine(filePath, Path.Combine(dataDirectory, @"Sprites\")); }
        }

        /// <summary>
        /// Gets the font path.
        /// </summary>
        /// <value>The font path.</value>
        public static string FontPath
        {
            get { return Path.Combine(filePath, Path.Combine(dataDirectory, @"Fonts\")); }
        } 
        #endregion
    }
}
